Add zeemo-tuned — first Zig tuned-category entry#739
Conversation
…ccomp=unconfined off this field
|
/benchmark -f zeemo-tuned |
|
👋 |
1 similar comment
|
👋 |
Benchmark ResultsFramework:
Full log |
|
Tuned or Production entries must be actual frameworks, this is still very early work, it needs more than just routing handlers to the engine. At least having some proper documentation on how to use it to build an API. Rule of thumb is "would I use this to build something I can deploy to prod and be confident about it?" |
|
Fully fair — agree it's early for "framework" status. Converting back to draft and keeping it open as the tracking PR while I bring zeemo up to that bar. Plan: Framework features
Additional profile coverage
Documentation
Real example
Keeping PR #739 in draft until all of those land so we don't lose the benchmark-runner association. Will ping when ready for a fresh look. |
- src/main.zig: TLS config on port 8081 reading /certs/server.crt and /certs/server.key, ALPN http/1.1 — same /json/:count handler serves both ports. - meta.json: subscribe to the json-tls test. - Dockerfile: switch to ubuntu:24.04 runtime (libssl3) and add libssl-dev to the build stage. Drops `FROM scratch` because the binary now dynamically links libssl/libcrypto. The fork's build.zig.zon still points at the pre-TLS zeemo commit; bump the SHA after zeemo's a5f8685 (Add TLS support via OpenSSL) is published. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pulls in three upstream zeemo commits: - cfcd9b7 Add custom header support: res.setHeader + req.header - a5f8685 Add TLS support via OpenSSL for the json-tls profile - 8b47c8e TLS: ALPN length-equality + Context lifetime fix Validated locally with HttpArena's official scripts/validate.sh: 31 passed / 0 failed across all 8 subscribed profiles (baseline, pipelined, limited-conn, json, json-comp, json-tls, static, upload). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
/benchmark -f zeemo-tuned |
|
👋 |
Benchmark ResultsFramework:
Full log |
Description
First Zig entry in the
tunedcategory. Built on thezeemoZig HTTP library — same author and same core io_uring transport as the existingzeemo(engine) entry, but reworked as a proper framework:Server.init/.get/.post/.run,Request,Response, comptime JSON serializer, static file mount)jsonprofile is designed to measure.tunedper the static profile rules ("May cache files in memory at startup, use memory-mapped files, pre-rendered response headers, or any caching strategy. May serve pre-compressed files (.gz, .br) from disk via any mechanism.").build.zig.zonviazig fetch --save).Subscribed profiles
baseline—GET/POST /baseline11?a=…&b=…pipelined—GET /pipelinelimited-conn— same/baseline11endpoint, connection-churn patternjson—GET /json/{count}?m=…with per-request struct walkstatic—GET /static/*with.br/.gzvariant selection byAccept-EncodingLocal validation
Full
scripts/validate.sh zeemo-tunedsuite passes — 22 checks, 0 failures (baseline GET/POST/chunked + Content-Type, anti-cheat random inputs, 4 TCP-fragmentation cases, pipelined + Content-Type, JSON shape for 4 counts × multipliers + Content-Type, static Content-Type for css/js/json, 20 file sizes uncompressed, 15 compression variants, 404 for missing).How tuned differs from the existing engine entry
zeemo.Server), not raw socket dispatchSO_REUSEPORT, parserPR Commands — comment to trigger (requires collaborator approval):
/benchmark -f zeemo-tuned/benchmark -f zeemo-tuned --save